package com.ruoyi.uav.domain;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 任务记录对象 uav_task_record
 *
 * @author ruoyi
 * @date 2024-06-07
 */
@Data
@ApiModel(value = "任务记录对象", description = "任务记录对象")
public class UavTaskRecord extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @ApiModelProperty("$column.columnComment")
    @TableId(value = "id" , type = IdType.AUTO)
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /** 用户id */
    @ApiModelProperty("用户id")
    @Excel(name = "用户id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long userId;

    /** 任务id */
    @ApiModelProperty("任务id")
    @Excel(name = "任务id")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long trainingId;

    /** 任务状态：0-进行中，1-任务失败，2-任务完成 */
    @ApiModelProperty("任务状态：0-进行中，1-任务失败，2-任务完成")
    @Excel(name = "任务状态：0-进行中，1-任务失败，2-任务完成")
    private String status;

    /** 评分 */
    @ApiModelProperty("评分")
    @Excel(name = "评分")
    @JsonSerialize(using = ToStringSerializer.class)
    private Long score;

    /** 任务结束时间 */
    @ApiModelProperty("任务结束时间")
    @Excel(name = "任务结束时间")
    private String completeTime;

    @TableField(exist = false)
    private String userName;

    @TableField(exist = false)
    private String proposeName;

    @TableField(exist = false)
    @JsonIgnore
    private String sortField;

    @TableField(exist = false)
    @JsonIgnore
    private String sortOrder;

}
